/**
  ******************************************************************************
  * @file    .h
  * @author  ACTION_2017
  * @version V0.0.0._alpha
  * @date    2017//
  * @brief   This file contains all the functions prototypes for 
  *          
  ******************************************************************************
  * @attention
  *
  *
  ******************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MOVEBASE_H
#define __MOVEBASE_H
int ExchangeVel(float v);
void GoStraight(float v);
void PidRoundOri(float v0, float r,int) ;
void OriGoPidRou(float,float,short);
void PidAngle(int setAngle);
void AnyLineVel(float  v1,float a, float b,float c,short dir);
void PidSquare(float v,float r,int);
void Resume(void);   //逃逸
void clearEdge(float v,int modeClearFlag);//扫边程序
void clearEdgeWise(float v,int modeClearFlag);
void PidBiggerRoundOri(float , float  ,int ) ;
void PidBiggerSmallerRoundOri(float, float ,int );
void FullyWalking(void);  //完整走行
void SelfCheck(void);		//自检程序
void StopAndShoot(void);   //定点射击函数
/*红蓝场小圈逆时针*/
void BlueOneTwo(void);  	//蓝区1、2号桶射击函数
void BlueOneThree(void);	//蓝区1、3号桶射击函数
void BlueOneFour(void); 	//蓝区1、4号桶射击函数
void BlueTwoThree(void);	//蓝区2、3号桶射击函数
void BlueTwoFour(void); 	//蓝区2、4号桶射击函数
void BlueThreeFour(void);	//蓝区3、4号桶射击函数
void RedOneTwo(void);			//红区1、2号桶射击函数
void RedOneThree(void);		//红区1、3号桶射击函数
void RedOneFour(void);		//红区1、4号桶射击函数
void RedTwoThree(void);		//红区2、3号桶射击函数
void RedTwoFour(void);		//红区2、4号桶射击函数
void RedThreeFour(void);	//红区3、4号桶射击函数
/* Includes ------------------------------------------------------------------*/

/* Exported types ------------------------------------------------------------*/

/** 
  * @brief  
  */
 
/* Exported constants --------------------------------------------------------*/

/** @defgroup 
  * @{
  */

//#define 

//电机旋转一周的脉冲数
#define COUNTS_PER_ROUND (32768)
//轮子直径（单位：mm）
#define WHEEL_DIAMETER (120.0f)
//调试小车车长（单位：mm）
#define MOVEBASE_LENGTH (500.0f)
//调试小车车宽(单位：mm)
#define MOVEBASE_WIDTH (403.0f)
//轮子宽度（单位：mm）
#define WHEEL_WIDTH (46.0f)
//两个轮子中心距离（单位：mm）
#define WHEEL_TREAD (355.4f)
//左轮ID号
#define LEFT_WHEEL_ID (2)
//右轮ID号
#define RIGHT_WHEEL_ID (1)
//定位系统到后轮两轮轴中心间距
#define OPS_TO_BACK_WHEEL     (180.47f)

////后轮电机的CAN ID号
//#define BACK_WHEEL_ID             5
////前轮转向电机的CAN ID号
//#define TURN_AROUND_WHEEL_ID      6

////新三轮底盘  前轮转向电机到后轮两轮轴中心间距
//#define TURN_AROUND_WHEEL_TO_BACK_WHEEL                               (286.f)

////前轮后轮都是3508转一周脉冲都为8192
//#define NEW_CAR_COUNTS_PER_ROUND                                      (8192)
////转向轮子直径
//#define TURN_AROUND_WHEEL_DIAMETER                                    (50.8f)
////3508电机减速比，相当于给出去的脉冲要多乘上减速比
//#define REDUCTION_RATIO                                               (19.2f)

/* Exported macro ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/

#endif /* ___H */



/************************ (C) COPYRIGHT NEU_ACTION_2017 *****END OF FILE****/

